/**
 * @author raelzhu
 * @version $Revision: 1.3 $
 */
if (!Array.prototype.push) {
	Array.prototype.push = function() {
		var startLength = this.length;
		for (var i = 0; i < arguments.length; i++) {
			this[startLength + i] = arguments[i];
		}
		return this.length;
	}
}

if (!Function.prototype.apply) {
	// Based on code from http://www.youngpup.net/
	Function.prototype.apply = function(object, parameters) {
		var parameterStrings = new Array();
		if (!object) object = window;
		if (!parameters) parameters = new Array();
		
		for (var i = 0; i < parameters.length; i++) {
			parameterStrings[i] = 'parameters[' + i + ']';
		}
		
		object.__apply__ = this;
		var result = eval('object.__apply__(' + parameterStrings.join(', ') + ')');
		object.__apply__ = null;
		
		return result;
	}
}
